package hibernate.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.NamedQueries;
import org.hibernate.annotations.NamedQuery;

@SuppressWarnings("serial")
@Entity
@Table(name = "duyurular", catalog = "emmy")
@NamedQueries({  // Şimdilik bu query'lere gerek yok ihtiyaç olursa diye hazırlandı...
@NamedQuery(name = "findDuyuruFirmaid", query = "from Duyurular where firmaid = :dFirmaid"),
@NamedQuery(name = "findDuyuruTemslc",  query = "from Duyurular where kullaniciid = :dTemslc"),
@NamedQuery(name = "findDuyuruBaslik",  query = "from Duyurular where baslik like :dBaslik"),
@NamedQuery(name = "findDuyuruAcklama", query = "from Duyurular where aciklama like :dAcklama"),
@NamedQuery(name = "findDuyuruOnemDer", query = "from Duyurular where onemDerecesi = :dOnemder"),
@NamedQuery(name = "findDuyuruTrh",     query = "from Duyurular where tarih = :dTarih"),
@NamedQuery(name = "findDuyuruKimicin", query = "from Duyurular where kimlericin = :dKimicin")
})
public class Duyurular implements java.io.Serializable {

	private Long duyuruid;
	private Temsilci temsilci;
	private Sirketprofil sirketprofil;
	private String baslik;
	private String aciklama;
	private int onemDerecesi;
	private String tarih;
	private int kimlericin;

	public Duyurular() {
	}

	public Duyurular(Temsilci temsilci, Sirketprofil sirketprofil,
			String baslik, String aciklama, int onemDerecesi, String tarih,
			int kimlericin) {
		this.temsilci = temsilci;
		this.sirketprofil = sirketprofil;
		this.baslik = baslik;
		this.aciklama = aciklama;
		this.onemDerecesi = onemDerecesi;
		this.tarih = tarih;
		this.kimlericin = kimlericin;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "duyuruid", unique = true, nullable = false)
	public Long getDuyuruid() {
		return this.duyuruid;
	}

	public void setDuyuruid(Long duyuruid) {
		this.duyuruid = duyuruid;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "kullaniciid", nullable = false)
	public Temsilci getTemsilci() {
		return this.temsilci;
	}

	public void setTemsilci(Temsilci temsilci) {
		this.temsilci = temsilci;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "firmaid", nullable = false)
	public Sirketprofil getSirketprofil() {
		return this.sirketprofil;
	}

	public void setSirketprofil(Sirketprofil sirketprofil) {
		this.sirketprofil = sirketprofil;
	}

	@Column(name = "baslik", nullable = false, length = 20)
	public String getBaslik() {
		return this.baslik;
	}

	public void setBaslik(String baslik) {
		this.baslik = baslik;
	}

	@Column(name = "aciklama", nullable = false, length = 65535)
	public String getAciklama() {
		return this.aciklama;
	}

	public void setAciklama(String aciklama) {
		this.aciklama = aciklama;
	}

	@Column(name = "onemDerecesi", nullable = false)
	public int getOnemDerecesi() {
		return this.onemDerecesi;
	}

	public void setOnemDerecesi(int onemDerecesi) {
		this.onemDerecesi = onemDerecesi;
	}

	@Column(name = "tarih", nullable = false, length = 10)
	public String getTarih() {
		return this.tarih;
	}

	public void setTarih(String tarih) {
		this.tarih = tarih;
	}

	@Column(name = "kimlericin", nullable = false)
	public int getKimlericin() {
		return this.kimlericin;
	}

	public void setKimlericin(int kimlericin) {
		this.kimlericin = kimlericin;
	}
}